.ag-menu-list {
    display: table;
    width: 100%;
    cursor: default;
    padding: var(--ag-spacing) 0;
}

.ag-menu-option,
.ag-menu-separator {
    display: table-row;
}

.ag-menu-option-part,
.ag-menu-separator-part {
    display: table-cell;
    vertical-align: middle;
}

.ag-menu-option {
    font-weight: 500;
    cursor: pointer;
}

:where(.ag-menu-option-popup-pointer) .ag-icon {
    text-align: right;
}

.ag-menu-option-text {
    white-space: nowrap;
}

.ag-menu-option-custom {
    display: contents;
}

.ag-compact-menu-option {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}

.ag-compact-menu-option-text {
    white-space: nowrap;
    flex: 1 1 auto;
}

.ag-menu-separator {
    height: calc(var(--ag-spacing) * 2 + 1px);
}

.ag-menu-separator-part::after {
    content: '';
    display: block;
    border-top: solid var(--ag-border-width) var(--ag-menu-separator-color);
}

.ag-menu-option-active,
.ag-compact-menu-option-active {
    background-color: var(--ag-row-hover-color);
}

.ag-menu-option-part,
.ag-compact-menu-option-part {
    line-height: var(--ag-icon-size);
    padding: calc(var(--ag-spacing) + 2px) 0;
}

.ag-menu-option-disabled,
.ag-compact-menu-option-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ag-menu-option-icon,
.ag-compact-menu-option-icon {
    padding-left: calc(var(--ag-spacing) * 2);
    width: var(--ag-icon-size);
}

.ag-menu-option-text,
.ag-compact-menu-option-text {
    padding-left: calc(var(--ag-spacing) * 2);
    padding-right: calc(var(--ag-spacing) * 2);
}

.ag-menu-option-shortcut,
.ag-compact-menu-option-shortcut {
    padding-right: var(--ag-spacing);
}

.ag-menu-option-popup-pointer,
.ag-compact-menu-option-popup-pointer {
    padding-right: var(--ag-spacing);
}

.ag-menu-column-select-wrapper {
    height: 265px;
    overflow: auto;

    :where(.ag-column-select) {
        height: 100%;
    }
}

/* Column Filter */

.ag-menu:where(.ag-tabs) {
    /* minimum width for the legacy tabbed column menu */
    min-width: 290px;
}

/* Context Menu */
.ag-context-menu-loading-icon {
    position: absolute;
    pointer-events: none;
}
